package com.msb.sentinelOpenfeign.openfeign;

import com.msb.common.JsonResult;
import com.msb.sentinelOpenfeign.config.RibbonIRuleConfig;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/****************************************************
 * OpenFeign 实现负载均衡
 *    1）在 @FeignClient 通过属性 configuration 来指定负载均衡（指定负载均衡bean所在的类，如：RibbonIRuleConfig）
 *         configuration 用于指定 当前 FeignClient 所采用的配置(即 配置类)，若不单独指定，则使用全局的配置
 *    2）在@Configuration 配置类上 通过 @RibbonClient 或 @RibbonClients 设置负载均衡策略（Ribbon 下适用）
 *    3）在@Configuration 配置类上 通过 @LoadBalancerClient 或 @LoadBalancerClients设置负载均衡策略（Loadlancer 下适用）
 *
 * @author lbf
 * @date 2025/6/27 14:34
 ****************************************************/
//@FeignClient(value = "nacos-provider",configuration = RibbonIRuleConfig.class)
public interface OpenFeignService {

    @GetMapping("info/{id}")
    public JsonResult<String> msbSql(@PathVariable("id") Long id);

    @GetMapping("/timeout")
    public String timeOut();
}
